/**
 * 版权所有 2009-2012山东新北洋信息技术股份有限公司
 * 保留所有权利。
 */
package com.linyaonan.leetcode.easy._100;

/**
 *
 * 给定两个二叉树，编写一个函数来检验它们是否相同。
 *
 * 如果两个树在结构上相同，并且节点具有相同的值，则认为它们是相同的。
 *
 * 输入:       1         1
 *           / \       / \
 *          2   3     2   3
 *
 *         [1,2,3],   [1,2,3]
 *
 * 输出: true
 *
 * 输入:      1          1
 *           /           \
 *          2             2
 *
 *         [1,2],     [1,null,2]
 *
 * 输出: false
 *
 *
 * @ProjectName: leetcode
 * @Package: com.linyaonan.leetcode.easy._100
 * @ClassName: SameTree
 * @Author: linyaonan
 * @Date: 2019/10/23 10:40
 */
public class SameTree {

    public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null) {
            return true;
        } else {
            if (p != null && q != null) {
                if (p.val != q.val) {
                    return false;
                } else {
                    boolean lSame = isSameTree(p.left, q.left);
                    if (lSame) {
                        return isSameTree(p.right, q.right);
                    } else {
                        return false;
                    }
                }
            } else {
                return false;
            }
        }
    }

}
